import {delUser, getUser, getUserPlaylist, setUser, setUserPlaylist} from "../../store/user"
import {baseUrl} from "../../constants/url";
import {createList} from "../../lib/music";

// pages/me/me.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        user: {},
        title: '',
        image: [],
        showAddPanel: false
    },
    // 创建歌单
    newList(e) {
        if (!this.data.title) {
            console.log('title不能为空')
            wx.showToast({
                title: '名称不能为空',
                icon: 'error',
                duration: 2000
            })
            return
        }
        // if (this.data.title === '') {
        //     return
        // }
        createList(this.data.user.id, this.data.title,
            (res) => {
                console.log('list??', res)
                // 更新缓存
                setUserPlaylist([...getUserPlaylist(), res.data.list])
                // 更新user缓存, 因为me.wxml是通过user.musicList获取歌单数据
                setUser({...getUser(), musicList: getUserPlaylist()})
                console.log(getUserPlaylist())
                wx.reLaunch({url: '../index/index'})
            })
        // 清空
        this.setData({title: ''})
    },
    changeTitle(e) {
        this.setData({
            title: e.detail.value
        })
    },
    // 添加歌单
    addList() {
        this.setData({showAddPanel: true})
    },
    // 跳转歌单详情
    toDetail(e) {
        console.log(e.currentTarget.dataset.id)
        // 传递歌单id -> 全局?或query参数
        wx.reLaunch({
            url: '../playlist/playlist?lid=' + e.currentTarget.dataset.id,
        })
    },
    logout(e) {
        delUser()
        this.setUserinfo({})
        wx.reLaunch({url: "../index/index"})
    },
    toSignin(e) {
        // 关闭所有页面，打开到应用内的某个页面
        // wx.reLaunch({
        //     url: '../login/login',
        // })
        // 不能超5层
        wx.reLaunch({
            url: '../login/login',
        })
    },
    setUserinfo(user) {
        this.setData({user})
    },
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        console.log(getUser())
        this.setUserinfo(getUser())
        if (!this.data.user.token) {
            wx.reLaunch({
                url: '../login/login',
            })
        }
        // 获取user的歌单列表 - todo: 是否需要从服务器获取, 还是说在创建后更新缓存的?
        const userPlaylist = getUserPlaylist();
        console.log(userPlaylist)
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    }
})